// import { createCommonPage } from '/src/utils/service.js'

export const createForm_content = () => ({
  ident: '', // 指令编号
  title: '', // 指令标题
  source: '', // 指令来源
  location: '', // 上稿位置
  customLocation: '', // 手动输入上稿位置
  visible: '', // 可视范围
  supervisoryLen: 30, // 督办间隔（是否督办）
  type: '', // 指令类型
  content: '', // 指令内容
  attachment: '', // 附件
  remark: '', // 备注
})

export const createPositionOptions = () => [
  { key: '首页首屏', value: '首页首屏' },
  { key: '频道', value: '频道' },
  { key: '手动输入', value: '手动输入' },
]

export const createViewScopeOptions = () => [
  { key: '公开', value: '公开' },
  { key: '仅处室可见', value: '仅处室可见' },
]

export const createSuperviseOptions = () => [
  { key: 30, value: '30分钟' },
  { key: 20, value: '20分钟' },
]

const createValidate = (vm) => {
  return (rule, value, callback) => {
    if (!value && value !== 0) {
      callback(new Error())
      
      /* 自定义位置需要验证是否输入 */
    } else if (rule.field === 'location' && value === 'CUSTOM') {
      if (!vm.formData.customLocation.trim()) {
        callback(new Error())
      }
    }
    callback()
  }
}

export const createFormRules = (vm) => ({
  title: [{ required: true, validator: createValidate(vm), message: '标题不能为空', trigger: 'blur' }],
  content: [{ required: true, validator: createValidate(vm), message: '内容不能为空', trigger: 'blur' }],
  source: [{ required: true, validator: createValidate(vm), message: '来源不能为空', trigger: 'change' }],
  location: [{ required: true, validator: createValidate(vm), message: '上稿位置不能为空', trigger: 'change' }],
  visible: [{ required: true, validator: createValidate(vm), message: '可视范围不能为空', trigger: 'change' }],
  supervisoryLen: [{ required: true, validator: createValidate(vm), message: '是否督办不能为空', trigger: 'change' }],
  type: [{ required: true, validator: createValidate(vm), message: '指令类型不能为空', trigger: 'change' }],
})

export const createFeedbackTemplate = () => [
  { key: '稿件转发指令模板', value: '稿件转发指令模板', tem: 'manu' },
  { key: '专题专栏指令模板', value: '专题专栏指令模板', tem: 'subject' },
  { key: '话题上榜指令模板', value: '话题上榜指令模板', tem: 'topic' },
  { key: '开机屏指令模板', value: '开机屏指令模板', tem: 'startUp' },
  { key: '其他指令报送数据模板（主题）', value: '其他指令报送数据模板（主题）', tem: 'otherTheme' },
  { key: '其他指令报送数据模板（话题组）', value: '其他指令报送数据模板（话题组）', tem: 'otherTopic' },
]
